package com.sikaryofficial.workbench.domain.dto.req.order;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import javax.validation.constraints.NotEmpty;
import java.math.BigDecimal;

/**
 * @author : wuweihong
 * @desc : 商品子订单
 * @date : 2024-09-25
 */
@Getter
@Setter
@ToString
@ApiModel(value = "商品子订单Req入参对象", description = "商品子订单Req入参对象")
public class OrderItemReq {

    @ApiModelProperty(value = "商品口味id,购物车需要使用该属性, 操作购物车时该属性不可为空")
    private Long goodsRelationId;

    /**
     * 子订单ID
     */
    @ApiModelProperty(value = "子订单id")
    private Long orderItemId;
    /**
     * 订单ID
     */
    @ApiModelProperty(value = "主订单id")
    private Long orderHeaderId;
    /**
     * 子订单编号
     */
    @ApiModelProperty(value = "主订单编号")
    private String orderItemNo;
    /**
     * 订单行状态：1-Order-Placement,2-Confirmation,3-Product Preparation,4-Production Completed
     */
    private Integer itemStatus;

    /**
     * 商品id
     */
    @ApiModelProperty(value = "商品id")
    private Long goodsId;

    /**
     * 商品编号
     */
    private String goodsCode;
    /**
     * 数量(烟杆)
     */
    @ApiModelProperty(value = "数量(烟杆)")
    private Integer quantity;
    /**
     * 单价
     */
    private BigDecimal unitPrice;
    /**
     * 币种
     */
    private String currency;
    /**
     * 品牌编码
     */
    private String brandNo;
    /**
     * 口味
     */
    @ApiModelProperty(value = "商品口味")
    @NotEmpty(message = "goods taste name can not be null")
    private String tasteName;
    /**
     * 型号
     */
    private String model;
    /**
     * 款式: style:disposable 一次性,cartridge 弹药筒,other 其他
     */
    private String style;
    /**
     * 产品名称
     */
    private String goodsName;
    /**
     * 产品编码
     */
    private String productNo;
    /**
     * 订单定制id
     */
    private String orderCustomizedId;


}
